package com.david.mydemo.ctl_webservice;


import com.david.mydemo.ctl_webservice.req.UserModifyRequest;
import com.david.mydemo.ctl_webservice.rsp.UserModifyResponse;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;

/**
 * 用户信息WebService接口
 */
@WebService(name = "UserInfoWebService"
        , targetNamespace = "http://ctl_webservice.mydemo.david.com/"
)
//@WebService
//@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface UserInfoWebService {

//    /**
//     * 获取用户信息-test
//     *
//     * @param userId
//     * @return
//     */
//    @WebMethod
//    WsUserInfo getWsUserInfo(@WebParam(name = "USERID") String userId);

    /**
     * 同步更新用户列表string
     * <p>正向接口实现从账号变更</p>
     *
     * @param requestInfoXml
     * @return
     */
//    @WebMethod
//    @WebResult(name = "ResponseInfo")
    @WebMethod(operationName = "UpdateAppAcctSoap")
    @WebResult(name = "ResponseInfo", targetNamespace = "")
    @RequestWrapper(localName = "UpdateAppAcctSoap",
            targetNamespace = "http://ctl_webservice.mydemo.david.com/",
            className = "om.david.mydemo.ctl_webservice.impl.UpdateAppAcctSoap")
    @ResponseWrapper(localName = "UpdateAppAcctSoapResponse",
            targetNamespace = "http://ctl_webservice.mydemo.david.com/",
            className = "om.david.mydemo.ctl_webservice.impl.UpdateAppAcctSoapResponse")
    String UpdateAppAcctSoap(@WebParam(name = "RequestInfo") String requestInfoXml);

    /**
     * 同步更新用户列表
     * <p>正向接口实现从账号变更</p>
     *
     * @param requestInfo
     * @return
     */
    @WebMethod
    @WebResult(name = "ResponseInfo")
    UserModifyResponse UpdateAppAcctSoap1(@WebParam(name = "RequestInfo") UserModifyRequest requestInfo);

    @WebMethod
    @WebResult(name = "ResponseInfo")
    String UpdateAppAcctSoap11(@WebParam(name = "RequestInfo") UserModifyRequest requestInfo);

}
